﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ControleCampeonato.Entidades;
using ControleCampeonato.Interfaces;

using System.Data.SqlClient;
using ControleCampeonato.DAO.dsCampeonatoTableAdapters;

namespace ControleCampeonato.DAO
{
    public class ClubeDAO : ICrude<Clube>    {
        #region ICrude<Clube> Members
        //Uso do ADO.NET com DataSet Tipado
        //
        public List<Clube>  SelecionarTudo()
        {
            ClubeTableAdapter dap = 
                new ClubeTableAdapter();
            List<Clube> clubes = new List<Clube>();
            foreach (dsCampeonato.ClubeRow linha in dap.GetData())
            {
                Clube obj = new Clube();
                obj.Id = linha.Id;
                obj.Nome = linha.Nome;
                clubes.Add(obj);
            }
            return clubes;

        }

        const string conexao =
            "Data Source=.;Initial Catalog=Campeonato;Integrated Security=True";

        public dsCampeonato.ClubeDataTable  SelecionarTudoDT()
        {
            ClubeTableAdapter dap =
                new ClubeTableAdapter();
            
            return dap.GetData();

        }

        public Clube Selecionar(int id)
        {
            throw new NotImplementedException();
        }

        public int Incluir(Clube entidade)
        {
            SqlConnection bdConexao = new SqlConnection(conexao);
            try
            {
                bdConexao.Open();
                string query = "InserirClube";
                SqlCommand comando = new SqlCommand(query, bdConexao);
                comando.CommandType = System.Data.CommandType.StoredProcedure;
                comando.Parameters.Add(new SqlParameter("@Nome",entidade.Nome ));
                return (int)comando.ExecuteScalar();
                
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                bdConexao.Close();
            }
        }

        public void Excluir(int id)
        {
            throw new NotImplementedException();
        }

        public void Alterar(Clube entidade)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
